<?php

namespace App\Http\Model;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    //
    protected  $table='category';
    protected $primaryKey = 'cate_id';
    public $timestamps=false;

    public static function getAllTree(){
        $data =  self::all();
        return self::getTree($data);
    }

    /***
     * @param $data
     * @param int $pid 当前要取得的值的pid
     * @param int $level 层级
     * @param array $arr 待返回的值,第一层时默认为空
     * @param string $pk 主键名
     * @param string $parent_id_key 父id键名
     * @return array 返回$arr,每一个子数组下面有层级和数据两个元素
     */
    public static function getTree($data,$pid=0,$level = 0,$arr = [],$pk='cate_id',$parent_id_key = 'cate_pid'){//递归取层级树,没level
        foreach ($data as $k=>$v){
            if($v->{$parent_id_key} == $pid){
                $arr[]=['value'=>$v,'level'=>$level];
                $arr = self::getTree($data,$v->{$pk},$level+1,$arr,$pk,$parent_id_key);
            }
        }
        return $arr;
    }
}


